Termination of Logic Programs with block Declarations Running in Several Modes
نویسندگان
چکیده
We show how termination of logic programs with delay declarations can be proven. Three features are distinctive of this work: (a) we assume that predicates can be used in several modes; (b) we show that block declarations, which are a very simple delay construct, are suucient; (c) we take the selection rule into account, assuming it to be as in most Prolog implementations. Our method is based on identifying the so-called robust predicates, for which the textual position of an atom using this predicate is irrelevant. The method can be used to verify existing programs, and to assist in writing new programs. As a byproduct, we also show how programs can be proven to be free from occur-check and oundering.
منابع مشابه
Verifying Termination and Error-Freedom of Logic Programs with block Declarations
We present verification methods for logic programs with delay declarations. The verified properties are termination and freedom from errors related to built-ins. Concerning termination, we present two approaches. The first approach tries to eliminate the well-known problem of speculative output bindings. The second approach is based on identifying the predicates for which the textual position o...
متن کاملProving Termination of Logic Programs with Delay Declarations
In this paper we propose a method for proving termination of logic programs with delay declarations The method is based on the notion of recurrent logic program which is used to prove programs terminating with respect to an arbitrary selection rule Most importantly we use the notion of bound query as proposed by M Bezem in the de nition of cover a new notion which forms the kernel of our approa...
متن کاملVeri cation of Logic Programs with Delay Declarations
Logic programs augmented with delay declarations form a higly expressive programming language in which dynamic networks of processes that communicate asynchronously by means of multiparty channels can be easily created. In this paper we study correctness these programs. In particular, we propose proof methods allowing us to deal with occur check freedom, absence of deadlock, absence of errors i...
متن کاملVerification of Logic Programs with Delay Declarations
Logic programs augmented with delay declarations form a higly expressive programming language in which dynamic networks of processes that communicate asynchronously by means of multiparty channels can be easily created. In this paper we study correctness these programs. In particular, we propose proof methods allowing us to deal with occur check freedom, absence of deadlock, absence of errors i...
متن کاملCv of Dr. Jan-georg Smaus 1.1 Logic Programming
Verification of logic programs with dynamic scheduling. My first work in this area was on programs using delay declarations, in particular, proving termination and absence of runtime errors for such programs [5, 6, 1, 28, 33]. I have developed a more abstract view of dynamic scheduling by defining the so-called input-consuming derivations [8, 28, 32, 34]. More powerful termination conditions we...
متن کامل